package cn.mw.cmdb.param;

import cn.mw.cmdb.entity.DataAuth;
import cn.mw.cmdb.service.ServiceChoose;
import cn.mw.cmdb.service.impl.AssetsDiscoverServiceImpl;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
public class ModelAddTangAssetsParam extends DataAuth implements ServiceChoose {

    @Schema(description = "当前任务规则id")
    private String id;

    @Schema(description = "代理引擎类型 1:引擎  2:分组")
    private Integer proxyType;

    @Schema(description = "引擎ID")
    private String engineId;

    @Schema(description = "监控服务器")
    private String monitorServerId;

    @Schema(description = "功能模块")
    private List<String> functionModuleList;

    @Schema(description = "扫描成功的ID")
    private List<String> scanSuccessIpList;

    @Schema(description = "是否批量纳管")
    private Boolean batchManage = false;

    @Schema(description = "忽略CODE检查")
    private Boolean ignoreCodeCheck;

    @Schema(description = "启动操作监控")
    private Boolean operationMonitor;

    @Schema(description = "是否立即检查")
    private Boolean checkNow = false;

    @Schema(description = "纳管是否使用随机名称")
    private Boolean randomNameFlag = false;

    @Schema(description = "是否Trunk监控")
    private Boolean mw_trunkMonitorFlag = false;

    private List<CustomNanotubeType> customPortList;
    //扫描成功资产的id
    private List<String> scanAssetsIds;

    @Override
    public String getServiceId() {
        return AssetsDiscoverServiceImpl.ID;
    }


    @Data
    public static class CustomNanotubeType {
        private String type;

        private Integer port;
    }
}
